package cn.wangkai.peanut.db.manager;

import java.sql.SQLException;
import java.util.List;

import cn.wangkai.peanut.db.WKDbException;
import cn.wangkai.peanut.db.iface.IMyDb;
import cn.wangkai.peanut.db.util.ManagerException;
import cn.wangkai.peanut.db.util.PageModel;

public interface Manager<T> {

	/**
	 * 新增T 
	 * @param <T>
	 * @param conn 
	 * @param bgryxxb 
	 */
	public T add(IMyDb db,T t) throws  SQLException, WKDbException, ManagerException, WKDbException  ;

	/**
	 * 修改BgRyxxb 
	 * @param <T>
	 * @param conn 
	 * @param bgryxxb 
	 */
	public void modify(IMyDb db,T t) throws SQLException, ManagerException, WKDbException ;

	/**
	 * 删除BgRyxxb 
	 * @param <T>
	 * @param conn 
	 * @param bgryxxbBgRyxxb 组建列表
	 */
	public void delete(IMyDb db,T t) throws SQLException, ManagerException, WKDbException ;

	/**
	 * 获得分页
	 * @param pageNo 当前页数
	 * @param pageSize 每页显示数
	 * @return 分页数据
	 */
	public PageModel<T> findAll(IMyDb db,int pageNo, int pageSize) throws SQLException , WKDbException;
	
	/**
	 * 获得BgRyxxb 数据
	 * @param <T>
	 * @param conn 
	 * @return BgRyxxb 列表
	 */
	public List<T> findAll(IMyDb db) throws SQLException, WKDbException ;
	
	/**
	 * 
	 * @param <T>
	 * @param bgryxxbid BgRyxxb 
	 * @param conn 
	 * @return BgRyxxb 
	 */
	public T findById(IMyDb db,Object... id) throws SQLException, WKDbException ;
}
